<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>async/await的使用场景</title>
</head>
<body>
    <script>
        // 在前端开发的过程里，偶尔会遇到多个请求，而后一个请求依赖之前请求 的需求，如果要用promise的链式调用
        // 那么有几个请求就需要写几个then
        let request = (time) => {
            return new Promise((resolve, reject) => {
                setTimeout(() =>{
                    let random = Math.random()
                    if(random >= 0.1) {
                        resolve(time)
                    } else {
                        throw new Error('出错了')
                    }
                }, time)
            })
        }
        request(200).then((response) => { // 注意这种链式调用的错误处理机制
            console.log('第一次请求成功了', response)
            return request(response + 200)
        }).then((result) =>{
            console.log('第二次请求成功了', result)
            return request(result + 200)
        }).then(result => {
            console.log('第三次请求成功了', result)
        })
    </script>
</body>
</html>